package exception;

import java.io.FileInputStream;

public class TryDemo {
	public static void main(String[] args) {
		String str = "aaa";
		int[] arr = new int[3]; // 0-2
		
		try {
			//1.把可能出现问题的代码放入try中，如果没问题退出try语句段，继续运行
			str.length();
			arr[2] = 10;
			
			//java.lang.NumberFormatException
			int num = Integer.parseInt("abc");
			//2.有问题，则抛出一个异常对象 new NullPointerException();
			//catch 去抓异常 如果跑出来的异常对象 instanceof NullPointerException ，e引用就被赋值
		} catch (NullPointerException e) {
			//一旦被catch抓住，程序就认为你自己解决了
			System.out.println("错误消息:" + e.getMessage());
		} catch (ArrayIndexOutOfBoundsException e) {
			System.out.println("错误消息:" + e.getMessage());
		} catch (Exception e) {
			System.out.println(e.getMessage());
		} finally {
			//无论try是否有异常，都会被执行，如果有return也会先执行finally再return
			// 处理try干完以后的事，比如断开和数据库的连接
			System.out.println("finally.....");
		}
		System.out.println("over...");
	}
}
